const idsDao = require('./idsDao')
const db = require('./db')

class PostsDao {
    constructor() {}

    newAndSave(post, cb) {
        let self = this
        idsDao.findOneAndUpdate('postsId', (err, numAffected, affectedDocuments) => {
            if (err || !affectedDocuments) {
                console.error(err)
            } else {
                let id = affectedDocuments.postsId * 1000 + 1; //id后面3位是服务器id
                let nowTime = new Date().getTime();
                post.createTime = nowTime;
                db.posts.insert(player, cb);
            }
        })
    }

    findOne(query, cb) {
        db.players.findOne(query, (err, doc) => {
            if (err) {
                console.error(err);
            } else {
                cb(doc);
            }

        });
    }

    find(query, cb) {
        db.players.find(query, (err, docs) => {
            if (err) {
                console.error(err);
            } else {
                cb(docs);
            }
        });
    }

    findByPage(query, skip, cb) {
        db.count(query, (err, count) => {
            if (err) {
                console.error(err);
            } else {
                db.find(query).sort({
                    _id: 1
                }).skip(skip).limit(20).exec((err, docs) => {
                    if (err) {
                        console.error(err);
                    } else {
                        cb(count, docs);
                    }
                });
            }
        });

    }
}

let postsDao = new PostsDao();
module.exports = postsDao;